// const akamai_tool = require("./HkccfgNBOV/g_code_change");
const akamai_tool = require("../AOIRpwGNMr/g_code_change");
const http = require('http');

// 创建HTTP服务器
const server = http.createServer((req, res) => {
    // 只处理POST请求
    if (req.method === 'POST' && req.headers['content-type'] === 'application/json') {
        let body = '';

        // 监听请求体数据
        req.on('data', chunk => {
            body += chunk.toString(); // 将数据块拼接成字符串
        });

        // 请求结束后处理数据
        req.on('end', () => {
            try {
                // 将请求体解析为JSON
                const jsonData = JSON.parse(body);

                console.log('Received JSON data:', jsonData);
                if(jsonData["cookies"].indexOf("bm_sz")===-1){
                    // 如果解析失败，返回400错误
                    res.writeHead(200, { 'Content-Type': 'application/json' });
                    res.end(JSON.stringify({ error: 'bm_sz is null' }));
                    return;
                }

                var sensor_arrs = akamai_tool.get_sensor_arrs(jsonData["url"],jsonData["ua"],jsonData["cookies"], jsonData["platform"], jsonData["g_times"],jsonData["mouseId"]);

                // 发送成功响应
                res.writeHead(200, { 'Content-Type': 'application/json' });
                res.end(JSON.stringify({
                    message: 'POST request received',
                    // receivedData: jsonData,
                    sensor_datas:sensor_arrs[0],
                    g_mouse_id:sensor_arrs[1]
                }));
            } catch (error) {
                // 如果解析失败，返回400错误
                res.writeHead(400, { 'Content-Type': 'application/json' });
                res.end(JSON.stringify({ error: 'Invalid JSON format' }));
            }
        });
    } else {
        // 如果请求不是POST或不是JSON格式，返回404
        res.writeHead(404, { 'Content-Type': 'application/json' });
        res.end(JSON.stringify({ message: 'Not Found, only POST requests with JSON content are accepted' }));
    }
});

// 启动服务器，监听端口19000
server.listen(19000, () => {
    console.log('Server is listening on port 19000');
});
